//
//  LFAlertBox.h
//  YC_GRice
//
//  Created by LiuFeng on 2018/7/16.
//  Copyright © 2018年 YeCai. All rights reserved.
//

#import <UIKit/UIKit.h>

typedef void(^GRAlertBlock)(NSInteger index);

@interface LFAlertBox : UIView

@property (nonatomic, copy) GRAlertBlock alertBlock;
@property (nonatomic, assign) BOOL ondisplay; // 是否正在展示中


/**
 alertBox单例

 @return <#return value description#>
 */
+ (instancetype)defaultAlert;


/**
 背景不可点击的时候 请使用此方式初始化

 @return <#return value description#>
 */
+ (instancetype)backgroundAlert;

#pragma Notice ======== 以下方法中: 内容和右边按钮为必填，且不为空（如有需要，可自定义内容和右边按钮，一样可以满足需求）================

/**
 只有内容展示

 @param content 内容
 @param completion <#completion description#>
 */
- (void)showAlert:(NSString *)content completion:(GRAlertBlock)completion;



/**
 标题和内容双定义

 @param title 标题
 @param content 内容
 @param completion <#completion description#>
 */
- (void)showAlertTitle:(NSString *)title content:(NSString *)content completion:(GRAlertBlock)completion;



/**
 内容以及按钮的自定义

 @param content 内容
 @param cancle 左边按钮
 @param sure 右边按钮
 @param completion <#completion description#>
 */
- (void)showAlertContent:(NSString *)content cancle:(NSString *)cancle sure:(NSString *)sure completion:(GRAlertBlock)completion;



/**
 只有内容和一个按钮的定义

 @param content 内容
 @param sure 按钮
 @param completion <#completion description#>
 */
- (void)showAlertContent:(NSString *)content sure:(NSString *)sure completion:(GRAlertBlock)completion;


/**
 自定义所有文字

 @param title 标题
 @param content 内容
 @param cancle 左边按钮
 @param sure 右边按钮
 @param completion <#completion description#>
 */
- (void)showAlertTitle:(NSString *)title content:(NSString *)content cancleText:(NSString *)cancle sureText:(NSString *)sure completion:(GRAlertBlock)completion;


/**
 多功能UI 自定义 （字典中传的值仅限于text，textColor，backgroundColor，font）如@{@"text":@"haha"}
 此处需注意：如果只有一个按钮，请置空cancleDic
 
 @param titleDic 标题配置
 @param contentDic 内容配置
 @param cancleDic 取消（左边）按钮配置
 @param sureDic 确认（右边）按钮配置
 @param completion <#completion description#>
 */
- (void)showAlertTitle:(NSDictionary *)titleDic content:(NSDictionary *)contentDic cancleBtn:(NSDictionary *)cancleDic sureBtn:(NSDictionary  * _Nullable)sureDic completion:(GRAlertBlock)completion;


@end
